/*
大致思路：
将n==0与n==1的情况单独列出，找出n>=2的情况的规律
LC357.统计各位数字都不同的数字个数
https://leetcode.cn/problems/count-numbers-with-unique-digits/
难度：中等   2024.09.23
*/

class Solution {
public:
    int countNumbersWithUniqueDigits(int n) {
        if (n == 0)
            return 1;
        if (n == 1)
            return 10;
        // n>2的情况
        int a = 10, b = 9;
        for (int i = 0; i < n - 1; ++i) {
            b *= 9 - i;
            a += b;
        }
//cout<<a<<endl<<b<<endl;
        return a;
    }
};